package com.anpy.security.service;

import com.anpy.security.entity.TRole;

import java.util.List;

/**
 * u89d2u8272u670du52a1u63a5u53e3
 */
public interface TRoleService {
    
    /**
     * u521bu5efau89d2u8272
     * @param role u89d2u8272u5bf9u8c61
     * @return u521bu5efau540eu7684u89d2u8272u5bf9u8c61
     */
    TRole createRole(TRole role);
    
    /**
     * u66f4u65b0u89d2u8272
     * @param id u89d2u8272ID
     * @param role u89d2u8272u5bf9u8c61
     * @return u66f4u65b0u540eu7684u89d2u8272u5bf9u8c61
     */
    TRole updateRole(Integer id, TRole role);
    
    /**
     * u6839u636eIDu83b7u53d6u89d2u8272
     * @param id u89d2u8272ID
     * @return u89d2u8272u5bf9u8c61
     */
    TRole getRoleById(Integer id);
    
    /**
     * u83b7u53d6u6240u6709u89d2u8272
     * @return u89d2u8272u5217u8868
     */
    List<TRole> getAllRoles();
    
    /**
     * u83b7u53d6u6240u6709u542fu7528u7684u89d2u8272
     * @return u542fu7528u7684u89d2u8272u5217u8868
     */
    List<TRole> getActiveRoles();
    
    /**
     * u542fu7528/u7981u7528u89d2u8272
     * @param id u89d2u8272ID
     * @param status u72b6u6001
     * @return u66f4u65b0u540eu7684u89d2u8272u5bf9u8c61
     */
    TRole updateRoleStatus(Integer id, Boolean status);
    
    /**
     * u5220u9664u89d2u8272
     * @param id u89d2u8272ID
     */
    void deleteRole(Integer id);
}
